package com.dsprun.dspai.dto;


import jakarta.validation.constraints.*;
import lombok.Data;

/**
 * 摘要生成请求参数
 * 用于控制文本摘要的生成方式
 */
@Data
public class SummaryRequest {
    /**
     * 需要生成摘要的原始文本（必填）
     */
    @NotBlank(message = "文本内容不能为空")
    @Size(max = 10000, message = "文本长度不能超过10000个字符")
    private String text;

    /**
     * 摘要的最大长度（字符数）
     * 默认值：200
     */
    @Min(value = 50, message = "摘要长度不能少于50个字符")
    @Max(value = 1000, message = "摘要长度不能超过1000个字符")
    private int maxLength = 200;

    /**
     * 摘要风格选项
     * 可选值：DEFAULT, BULLET_POINTS, TECHNICAL, SIMPLE
     */
    private SummaryStyle style = SummaryStyle.DEFAULT;

    /**
     * 是否包含关键短语
     */
    private boolean includeKeyPhrases = false;

    /**
     * 目标语言代码（ISO 639-1）
     * 示例：zh, en
     */
    @Pattern(regexp = "[a-z]{2}", message = "语言代码必须是2个字母的ISO代码")
    private String targetLanguage = "zh";
}

